home *** CD-ROM | disk | FTP | other *** search
/ This Disc Bytes! / Power Computing - The Disc 2 - This Disc Bytes.ISO / pc / codewarr / macossup / headers / universa / lowmem.h < prev    next >
Text File  |  1995-07-06  |  44KB  |  907 lines

  1. /*
  2.      File:        LowMem.h
  3.  
  4.      Contains:    Low Memory Accessor Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Package:    Universal Interfaces 2.1 in “MPW Latest” on ETO #18
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs@applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. */
  19.  
  20. #ifndef __LOWMEM__
  21. #define __LOWMEM__
  22.  
  23.  
  24. #ifndef __TYPES__
  25. #include <Types.h>
  26. #endif
  27. /*    #include <ConditionalMacros.h>                                */
  28.  
  29. #ifndef __CONTROLS__
  30. #include <Controls.h>
  31. #endif
  32. /*    #include <Quickdraw.h>                                        */
  33. /*        #include <MixedMode.h>                                    */
  34. /*        #include <QuickdrawText.h>                                */
  35. /*    #include <Menus.h>                                            */
  36. /*        #include <Memory.h>                                        */
  37.  
  38. #ifndef __EVENTS__
  39. #include <Events.h>
  40. #endif
  41. /*    #include <OSUtils.h>                                        */
  42.  
  43. #ifndef __FILES__
  44. #include <Files.h>
  45. #endif
  46. /*    #include <Finder.h>                                            */
  47.  
  48. #ifndef __FONTS__
  49. #include <Fonts.h>
  50. #endif
  51.  
  52. #ifndef __MEMORY__
  53. #include <Memory.h>
  54. #endif
  55.  
  56. #ifndef __MENUS__
  57. #include <Menus.h>
  58. #endif
  59.  
  60. #ifndef __OSUTILS__
  61. #include <OSUtils.h>
  62. #endif
  63.  
  64. #ifndef __QUICKDRAW__
  65. #include <Quickdraw.h>
  66. #endif
  67.  
  68. #ifndef __RESOURCES__
  69. #include <Resources.h>
  70. #endif
  71.  
  72. #ifndef __WINDOWS__
  73. #include <Windows.h>
  74. #endif
  75.  
  76. #ifdef __cplusplus
  77. extern "C" {
  78. #endif
  79.  
  80. #if PRAGMA_ALIGN_SUPPORTED
  81. #pragma options align=mac68k
  82. #endif
  83.  
  84. #if PRAGMA_IMPORT_SUPPORTED
  85. #pragma import on
  86. #endif
  87.  
  88. extern pascal SInt16 LMGetScrVRes( void )
  89.     TWOWORDINLINE( 0x3EB8, 0x0102 ); /* MOVE.w $0102,(SP) */
  90. extern pascal void LMSetScrVRes( SInt16 value )
  91.     TWOWORDINLINE( 0x31DF, 0x0102 ); /* MOVE.w (SP)+,$0102 */
  92. extern pascal SInt16 LMGetScrHRes( void )
  93.     TWOWORDINLINE( 0x3EB8, 0x0104 ); /* MOVE.w $0104,(SP) */
  94. extern pascal void LMSetScrHRes( SInt16 value )
  95.     TWOWORDINLINE( 0x31DF, 0x0104 ); /* MOVE.w (SP)+,$0104 */
  96. extern pascal Ptr LMGetMemTop( void )
  97.     TWOWORDINLINE( 0x2EB8, 0x0108 ); /* MOVE.l $0108,(SP) */
  98. extern pascal void LMSetMemTop( Ptr value )
  99.     TWOWORDINLINE( 0x21DF, 0x0108 ); /* MOVE.l (SP)+,$0108 */
  100. extern pascal Ptr LMGetBufPtr( void )
  101.     TWOWORDINLINE( 0x2EB8, 0x010C ); /* MOVE.l $010C,(SP) */
  102. extern pascal void LMSetBufPtr( Ptr value )
  103.     TWOWORDINLINE( 0x21DF, 0x010C ); /* MOVE.l (SP)+,$010C */
  104. extern pascal Ptr LMGetHeapEnd( void )
  105.     TWOWORDINLINE( 0x2EB8, 0x0114 ); /* MOVE.l $0114,(SP) */
  106. extern pascal void LMSetHeapEnd( Ptr value )
  107.     TWOWORDINLINE( 0x21DF, 0x0114 ); /* MOVE.l (SP)+,$0114 */
  108. extern pascal THz LMGetTheZone( void )
  109.     TWOWORDINLINE( 0x2EB8, 0x0118 ); /* MOVE.l $0118,(SP) */
  110. extern pascal void LMSetTheZone( THz value )
  111.     TWOWORDINLINE( 0x21DF, 0x0118 ); /* MOVE.l (SP)+,$0118 */
  112. extern pascal Ptr LMGetUTableBase( void )
  113.     TWOWORDINLINE( 0x2EB8, 0x011C ); /* MOVE.l $011C,(SP) */
  114. extern pascal void LMSetUTableBase( Ptr value )
  115.     TWOWORDINLINE( 0x21DF, 0x011C ); /* MOVE.l (SP)+,$011C */
  116. extern pascal UInt8 LMGetCPUFlag( void )
  117.     TWOWORDINLINE( 0x1EB8, 0x012F ); /* MOVE.b $012F,(SP) */
  118. extern pascal void LMSetCPUFlag( UInt8 value )
  119.     TWOWORDINLINE( 0x11DF, 0x012F ); /* MOVE.b (SP)+,$012F */
  120. extern pascal Ptr LMGetApplLimit( void )
  121.     TWOWORDINLINE( 0x2EB8, 0x0130 ); /* MOVE.l $0130,(SP) */
  122. extern pascal void LMSetApplLimit( Ptr value )
  123.     TWOWORDINLINE( 0x21DF, 0x0130 ); /* MOVE.l (SP)+,$0130 */
  124. extern pascal SInt16 LMGetSysEvtMask( void )
  125.     TWOWORDINLINE( 0x3EB8, 0x0144 ); /* MOVE.w $0144,(SP) */
  126. extern pascal void LMSetSysEvtMask( SInt16 value )
  127.     TWOWORDINLINE( 0x31DF, 0x0144 ); /* MOVE.w (SP)+,$0144 */
  128. extern pascal SInt32 LMGetRndSeed( void )
  129.     TWOWORDINLINE( 0x2EB8, 0x0156 ); /* MOVE.l $0156,(SP) */
  130. extern pascal void LMSetRndSeed( SInt32 value )
  131.     TWOWORDINLINE( 0x21DF, 0x0156 ); /* MOVE.l (SP)+,$0156 */
  132. extern pascal UInt8 LMGetSEvtEnb( void )
  133.     TWOWORDINLINE( 0x1EB8, 0x015C ); /* MOVE.b $015C,(SP) */
  134. extern pascal void LMSetSEvtEnb( UInt8 value )
  135.     TWOWORDINLINE( 0x11DF, 0x015C ); /* MOVE.b (SP)+,$015C */
  136. extern pascal SInt32 LMGetTicks( void )
  137.     TWOWORDINLINE( 0x2EB8, 0x016A ); /* MOVE.l $016A,(SP) */
  138. extern pascal void LMSetTicks( SInt32 value )
  139.     TWOWORDINLINE( 0x21DF, 0x016A ); /* MOVE.l (SP)+,$016A */
  140. extern pascal SInt16 LMGetKeyThresh( void )
  141.     TWOWORDINLINE( 0x3EB8, 0x018E ); /* MOVE.w $018E,(SP) */
  142. extern pascal void LMSetKeyThresh( SInt16 value )
  143.     TWOWORDINLINE( 0x31DF, 0x018E ); /* MOVE.w (SP)+,$018E */
  144. extern pascal SInt16 LMGetKeyRepThresh( void )
  145.     TWOWORDINLINE( 0x3EB8, 0x0190 ); /* MOVE.w $0190,(SP) */
  146. extern pascal void LMSetKeyRepThresh( SInt16 value )
  147.     TWOWORDINLINE( 0x31DF, 0x0190 ); /* MOVE.w (SP)+,$0190 */
  148. extern pascal SInt16 LMGetUnitTableEntryCount( void )
  149.     TWOWORDINLINE( 0x3EB8, 0x01D2 ); /* MOVE.w $01D2,(SP) */
  150. extern pascal void LMSetUnitTableEntryCount( SInt16 value )
  151.     TWOWORDINLINE( 0x31DF, 0x01D2 ); /* MOVE.w (SP)+,$01D2 */
  152. extern pascal Ptr LMGetVIA( void )
  153.     TWOWORDINLINE( 0x2EB8, 0x01D4 ); /* MOVE.l $01D4,(SP) */
  154. extern pascal void LMSetVIA( Ptr value )
  155.     TWOWORDINLINE( 0x21DF, 0x01D4 ); /* MOVE.l (SP)+,$01D4 */
  156. extern pascal Ptr LMGetSCCRd( void )
  157.     TWOWORDINLINE( 0x2EB8, 0x01D8 ); /* MOVE.l $01D8,(SP) */
  158. extern pascal void LMSetSCCRd( Ptr value )
  159.     TWOWORDINLINE( 0x21DF, 0x01D8 ); /* MOVE.l (SP)+,$01D8 */
  160. extern pascal Ptr LMGetSCCWr( void )
  161.     TWOWORDINLINE( 0x2EB8, 0x01DC ); /* MOVE.l $01DC,(SP) */
  162. extern pascal void LMSetSCCWr( Ptr value )
  163.     TWOWORDINLINE( 0x21DF, 0x01DC ); /* MOVE.l (SP)+,$01DC */
  164. extern pascal UInt8 LMGetSPValid( void )
  165.     TWOWORDINLINE( 0x1EB8, 0x01F8 ); /* MOVE.b $01F8,(SP) */
  166. extern pascal void LMSetSPValid( UInt8 value )
  167.     TWOWORDINLINE( 0x11DF, 0x01F8 ); /* MOVE.b (SP)+,$01F8 */
  168. extern pascal UInt8 LMGetSPATalkA( void )
  169.     TWOWORDINLINE( 0x1EB8, 0x01F9 ); /* MOVE.b $01F9,(SP) */
  170. extern pascal void LMSetSPATalkA( UInt8 value )
  171.     TWOWORDINLINE( 0x11DF, 0x01F9 ); /* MOVE.b (SP)+,$01F9 */
  172. extern pascal UInt8 LMGetSPATalkB( void )
  173.     TWOWORDINLINE( 0x1EB8, 0x01FA ); /* MOVE.b $01FA,(SP) */
  174. extern pascal void LMSetSPATalkB( UInt8 value )
  175.     TWOWORDINLINE( 0x11DF, 0x01FA ); /* MOVE.b (SP)+,$01FA */
  176. extern pascal UInt8 LMGetSPConfig( void )
  177.     TWOWORDINLINE( 0x1EB8, 0x01FB ); /* MOVE.b $01FB,(SP) */
  178. extern pascal void LMSetSPConfig( UInt8 value )
  179.     TWOWORDINLINE( 0x11DF, 0x01FB ); /* MOVE.b (SP)+,$01FB */
  180. extern pascal SInt16 LMGetSPPortA( void )
  181.     TWOWORDINLINE( 0x3EB8, 0x01FC ); /* MOVE.w $01FC,(SP) */
  182. extern pascal void LMSetSPPortA( SInt16 value )
  183.     TWOWORDINLINE( 0x31DF, 0x01FC ); /* MOVE.w (SP)+,$01FC */
  184. extern pascal SInt16 LMGetSPPortB( void )
  185.     TWOWORDINLINE( 0x3EB8, 0x01FE ); /* MOVE.w $01FE,(SP) */
  186. extern pascal void LMSetSPPortB( SInt16 value )
  187.     TWOWORDINLINE( 0x31DF, 0x01FE ); /* MOVE.w (SP)+,$01FE */
  188. extern pascal SInt32 LMGetSPAlarm( void )
  189.     TWOWORDINLINE( 0x2EB8, 0x0200 ); /* MOVE.l $0200,(SP) */
  190. extern pascal void LMSetSPAlarm( SInt32 value )
  191.     TWOWORDINLINE( 0x21DF, 0x0200 ); /* MOVE.l (SP)+,$0200 */
  192. extern pascal SInt16 LMGetSPFont( void )
  193.     TWOWORDINLINE( 0x3EB8, 0x0204 ); /* MOVE.w $0204,(SP) */
  194. extern pascal void LMSetSPFont( SInt16 value )
  195.     TWOWORDINLINE( 0x31DF, 0x0204 ); /* MOVE.w (SP)+,$0204 */
  196. extern pascal UInt8 LMGetSPKbd( void )
  197.     TWOWORDINLINE( 0x1EB8, 0x0206 ); /* MOVE.b $0206,(SP) */
  198. extern pascal void LMSetSPKbd( UInt8 value )
  199.     TWOWORDINLINE( 0x11DF, 0x0206 ); /* MOVE.b (SP)+,$0206 */
  200. extern pascal UInt8 LMGetSPPrint( void )
  201.     TWOWORDINLINE( 0x1EB8, 0x0207 ); /* MOVE.b $0207,(SP) */
  202. extern pascal void LMSetSPPrint( UInt8 value )
  203.     TWOWORDINLINE( 0x11DF, 0x0207 ); /* MOVE.b (SP)+,$0207 */
  204. extern pascal UInt8 LMGetSPVolCtl( void )
  205.     TWOWORDINLINE( 0x1EB8, 0x0208 ); /* MOVE.b $0208,(SP) */
  206. extern pascal void LMSetSPVolCtl( UInt8 value )
  207.     TWOWORDINLINE( 0x11DF, 0x0208 ); /* MOVE.b (SP)+,$0208 */
  208. extern pascal UInt8 LMGetSPClikCaret( void )
  209.     TWOWORDINLINE( 0x1EB8, 0x0209 ); /* MOVE.b $0209,(SP) */
  210. extern pascal void LMSetSPClikCaret( UInt8 value )
  211.     TWOWORDINLINE( 0x11DF, 0x0209 ); /* MOVE.b (SP)+,$0209 */
  212. extern pascal UInt8 LMGetSPMisc2( void )
  213.     TWOWORDINLINE( 0x1EB8, 0x020B ); /* MOVE.b $020B,(SP) */
  214. extern pascal void LMSetSPMisc2( UInt8 value )
  215.     TWOWORDINLINE( 0x11DF, 0x020B ); /* MOVE.b (SP)+,$020B */
  216. extern pascal SInt32 LMGetTime( void )
  217.     TWOWORDINLINE( 0x2EB8, 0x020C ); /* MOVE.l $020C,(SP) */
  218. extern pascal void LMSetTime( SInt32 value )
  219.     TWOWORDINLINE( 0x21DF, 0x020C ); /* MOVE.l (SP)+,$020C */
  220. extern pascal SInt16 LMGetBootDrive( void )
  221.     TWOWORDINLINE( 0x3EB8, 0x0210 ); /* MOVE.w $0210,(SP) */
  222. extern pascal void LMSetBootDrive( SInt16 value )
  223.     TWOWORDINLINE( 0x31DF, 0x0210 ); /* MOVE.w (SP)+,$0210 */
  224. extern pascal SInt16 LMGetSFSaveDisk( void )
  225.     TWOWORDINLINE( 0x3EB8, 0x0214 ); /* MOVE.w $0214,(SP) */
  226. extern pascal void LMSetSFSaveDisk( SInt16 value )
  227.     TWOWORDINLINE( 0x31DF, 0x0214 ); /* MOVE.w (SP)+,$0214 */
  228. extern pascal UInt8 LMGetKbdLast( void )
  229.     TWOWORDINLINE( 0x1EB8, 0x0218 ); /* MOVE.b $0218,(SP) */
  230. extern pascal void LMSetKbdLast( UInt8 value )
  231.     TWOWORDINLINE( 0x11DF, 0x0218 ); /* MOVE.b (SP)+,$0218 */
  232. extern pascal UInt8 LMGetKbdType( void )
  233.     TWOWORDINLINE( 0x1EB8, 0x021E ); /* MOVE.b $021E,(SP) */
  234. extern pascal void LMSetKbdType( UInt8 value )
  235.     TWOWORDINLINE( 0x11DF, 0x021E ); /* MOVE.b (SP)+,$021E */
  236. extern pascal SInt16 LMGetMemErr( void )
  237.     TWOWORDINLINE( 0x3EB8, 0x0220 ); /* MOVE.w $0220,(SP) */
  238. extern pascal void LMSetMemErr( SInt16 value )
  239.     TWOWORDINLINE( 0x31DF, 0x0220 ); /* MOVE.w (SP)+,$0220 */
  240. extern pascal UInt8 LMGetSdVolume( void )
  241.     TWOWORDINLINE( 0x1EB8, 0x0260 ); /* MOVE.b $0260,(SP) */
  242. extern pascal void LMSetSdVolume( UInt8 value )
  243.     TWOWORDINLINE( 0x11DF, 0x0260 ); /* MOVE.b (SP)+,$0260 */
  244. extern pascal Ptr LMGetSoundPtr( void )
  245.     TWOWORDINLINE( 0x2EB8, 0x0262 ); /* MOVE.l $0262,(SP) */
  246. extern pascal void LMSetSoundPtr( Ptr value )
  247.     TWOWORDINLINE( 0x21DF, 0x0262 ); /* MOVE.l (SP)+,$0262 */
  248. extern pascal Ptr LMGetSoundBase( void )
  249.     TWOWORDINLINE( 0x2EB8, 0x0266 ); /* MOVE.l $0266,(SP) */
  250. extern pascal void LMSetSoundBase( Ptr value )
  251.     TWOWORDINLINE( 0x21DF, 0x0266 ); /* MOVE.l (SP)+,$0266 */
  252. extern pascal UInt8 LMGetSoundLevel( void )
  253.     TWOWORDINLINE( 0x1EB8, 0x027F ); /* MOVE.b $027F,(SP) */
  254. extern pascal void LMSetSoundLevel( UInt8 value )
  255.     TWOWORDINLINE( 0x11DF, 0x027F ); /* MOVE.b (SP)+,$027F */
  256. extern pascal SInt16 LMGetCurPitch( void )
  257.     TWOWORDINLINE( 0x3EB8, 0x0280 ); /* MOVE.w $0280,(SP) */
  258. extern pascal void LMSetCurPitch( SInt16 value )
  259.     TWOWORDINLINE( 0x31DF, 0x0280 ); /* MOVE.w (SP)+,$0280 */
  260. extern pascal SInt16 LMGetROM85( void )
  261.     TWOWORDINLINE( 0x3EB8, 0x028E ); /* MOVE.w $028E,(SP) */
  262. extern pascal void LMSetROM85( SInt16 value )
  263.     TWOWORDINLINE( 0x31DF, 0x028E ); /* MOVE.w (SP)+,$028E */
  264. extern pascal UInt8 LMGetPortBUse( void )
  265.     TWOWORDINLINE( 0x1EB8, 0x0291 ); /* MOVE.b $0291,(SP) */
  266. extern pascal void LMSetPortBUse( UInt8 value )
  267.     TWOWORDINLINE( 0x11DF, 0x0291 ); /* MOVE.b (SP)+,$0291 */
  268. extern pascal GNEFilterUPP LMGetGNEFilter( void )
  269.     TWOWORDINLINE( 0x2EB8, 0x029A ); /* MOVE.l $029A,(SP) */
  270. extern pascal void LMSetGNEFilter( GNEFilterUPP value )
  271.     TWOWORDINLINE( 0x21DF, 0x029A ); /* MOVE.l (SP)+,$029A */
  272. extern pascal THz LMGetSysZone( void )
  273.     TWOWORDINLINE( 0x2EB8, 0x02A6 ); /* MOVE.l $02A6,(SP) */
  274. extern pascal void LMSetSysZone( THz value )
  275.     TWOWORDINLINE( 0x21DF, 0x02A6 ); /* MOVE.l (SP)+,$02A6 */
  276. extern pascal THz LMGetApplZone( void )
  277.     TWOWORDINLINE( 0x2EB8, 0x02AA ); /* MOVE.l $02AA,(SP) */
  278. extern pascal void LMSetApplZone( THz value )
  279.     TWOWORDINLINE( 0x21DF, 0x02AA ); /* MOVE.l (SP)+,$02AA */
  280. extern pascal Ptr LMGetROMBase( void )
  281.     TWOWORDINLINE( 0x2EB8, 0x02AE ); /* MOVE.l $02AE,(SP) */
  282. extern pascal void LMSetROMBase( Ptr value )
  283.     TWOWORDINLINE( 0x21DF, 0x02AE ); /* MOVE.l (SP)+,$02AE */
  284. extern pascal Ptr LMGetRAMBase( void )
  285.     TWOWORDINLINE( 0x2EB8, 0x02B2 ); /* MOVE.l $02B2,(SP) */
  286. extern pascal void LMSetRAMBase( Ptr value )
  287.     TWOWORDINLINE( 0x21DF, 0x02B2 ); /* MOVE.l (SP)+,$02B2 */
  288. extern pascal Ptr LMGetDSAlertTab( void )
  289.     TWOWORDINLINE( 0x2EB8, 0x02BA ); /* MOVE.l $02BA,(SP) */
  290. extern pascal void LMSetDSAlertTab( Ptr value )
  291.     TWOWORDINLINE( 0x21DF, 0x02BA ); /* MOVE.l (SP)+,$02BA */
  292. extern pascal Ptr LMGetABusVars( void )
  293.     TWOWORDINLINE( 0x2EB8, 0x02D8 ); /* MOVE.l $02D8,(SP) */
  294. extern pascal void LMSetABusVars( Ptr value )
  295.     TWOWORDINLINE( 0x21DF, 0x02D8 ); /* MOVE.l (SP)+,$02D8 */
  296. extern pascal Ptr LMGetABusDCE( void )
  297.     TWOWORDINLINE( 0x2EB8, 0x02DC ); /* MOVE.l $02DC,(SP) */
  298. extern pascal void LMSetABusDCE( Ptr value )
  299.     TWOWORDINLINE( 0x21DF, 0x02DC ); /* MOVE.l (SP)+,$02DC */
  300. extern pascal UInt32 LMGetDoubleTime( void )
  301.     TWOWORDINLINE( 0x2EB8, 0x02F0 ); /* MOVE.l $02F0,(SP) */
  302. extern pascal void LMSetDoubleTime( UInt32 value )
  303.     TWOWORDINLINE( 0x21DF, 0x02F0 ); /* MOVE.l (SP)+,$02F0 */
  304. extern pascal UInt32 LMGetCaretTime( void )
  305.     TWOWORDINLINE( 0x2EB8, 0x02F4 ); /* MOVE.l $02F4,(SP) */
  306. extern pascal void LMSetCaretTime( UInt32 value )
  307.     TWOWORDINLINE( 0x21DF, 0x02F4 ); /* MOVE.l (SP)+,$02F4 */
  308. extern pascal UInt8 LMGetScrDmpEnb( void )
  309.     TWOWORDINLINE( 0x1EB8, 0x02F8 ); /* MOVE.b $02F8,(SP) */
  310. extern pascal void LMSetScrDmpEnb( UInt8 value )
  311.     TWOWORDINLINE( 0x11DF, 0x02F8 ); /* MOVE.b (SP)+,$02F8 */
  312. extern pascal SInt32 LMGetBufTgFNum( void )
  313.     TWOWORDINLINE( 0x2EB8, 0x02FC ); /* MOVE.l $02FC,(SP) */
  314. extern pascal void LMSetBufTgFNum( SInt32 value )
  315.     TWOWORDINLINE( 0x21DF, 0x02FC ); /* MOVE.l (SP)+,$02FC */
  316. extern pascal SInt16 LMGetBufTgFFlg( void )
  317.     TWOWORDINLINE( 0x3EB8, 0x0300 ); /* MOVE.w $0300,(SP) */
  318. extern pascal void LMSetBufTgFFlg( SInt16 value )
  319.     TWOWORDINLINE( 0x31DF, 0x0300 ); /* MOVE.w (SP)+,$0300 */
  320. extern pascal SInt16 LMGetBufTgFBkNum( void )
  321.     TWOWORDINLINE( 0x3EB8, 0x0302 ); /* MOVE.w $0302,(SP) */
  322. extern pascal void LMSetBufTgFBkNum( SInt16 value )
  323.     TWOWORDINLINE( 0x31DF, 0x0302 ); /* MOVE.w (SP)+,$0302 */
  324. extern pascal SInt32 LMGetBufTgDate( void )
  325.     TWOWORDINLINE( 0x2EB8, 0x0304 ); /* MOVE.l $0304,(SP) */
  326. extern pascal void LMSetBufTgDate( SInt32 value )
  327.     TWOWORDINLINE( 0x21DF, 0x0304 ); /* MOVE.l (SP)+,$0304 */
  328. extern pascal SInt32 LMGetLo3Bytes( void )
  329.     TWOWORDINLINE( 0x2EB8, 0x031A ); /* MOVE.l $031A,(SP) */
  330. extern pascal void LMSetLo3Bytes( SInt32 value )
  331.     TWOWORDINLINE( 0x21DF, 0x031A ); /* MOVE.l (SP)+,$031A */
  332. extern pascal SInt32 LMGetMinStack( void )
  333.     TWOWORDINLINE( 0x2EB8, 0x031E ); /* MOVE.l $031E,(SP) */
  334. extern pascal void LMSetMinStack( SInt32 value )
  335.     TWOWORDINLINE( 0x21DF, 0x031E ); /* MOVE.l (SP)+,$031E */
  336. extern pascal SInt32 LMGetDefltStack( void )
  337.     TWOWORDINLINE( 0x2EB8, 0x0322 ); /* MOVE.l $0322,(SP) */
  338. extern pascal void LMSetDefltStack( SInt32 value )
  339.     TWOWORDINLINE( 0x21DF, 0x0322 ); /* MOVE.l (SP)+,$0322 */
  340. extern pascal Handle LMGetGZRootHnd( void )
  341.     TWOWORDINLINE( 0x2EB8, 0x0328 ); /* MOVE.l $0328,(SP) */
  342. extern pascal void LMSetGZRootHnd( Handle value )
  343.     TWOWORDINLINE( 0x21DF, 0x0328 ); /* MOVE.l (SP)+,$0328 */
  344. extern pascal Handle LMGetGZMoveHnd( void )
  345.     TWOWORDINLINE( 0x2EB8, 0x0330 ); /* MOVE.l $0330,(SP) */
  346. extern pascal void LMSetGZMoveHnd( Handle value )
  347.     TWOWORDINLINE( 0x21DF, 0x0330 ); /* MOVE.l (SP)+,$0330 */
  348. extern pascal Ptr LMGetFCBSPtr( void )
  349.     TWOWORDINLINE( 0x2EB8, 0x034E ); /* MOVE.l $034E,(SP) */
  350. extern pascal void LMSetFCBSPtr( Ptr value )
  351.     TWOWORDINLINE( 0x21DF, 0x034E ); /* MOVE.l (SP)+,$034E */
  352. extern pascal Ptr LMGetDefVCBPtr( void )
  353.     TWOWORDINLINE( 0x2EB8, 0x0352 ); /* MOVE.l $0352,(SP) */
  354. extern pascal void LMSetDefVCBPtr( Ptr value )
  355.     TWOWORDINLINE( 0x21DF, 0x0352 ); /* MOVE.l (SP)+,$0352 */
  356. extern pascal SInt32 LMGetCurDirStore( void )
  357.     TWOWORDINLINE( 0x2EB8, 0x0398 ); /* MOVE.l $0398,(SP) */
  358. extern pascal void LMSetCurDirStore( SInt32 value )
  359.     TWOWORDINLINE( 0x21DF, 0x0398 ); /* MOVE.l (SP)+,$0398 */
  360. extern pascal UniversalProcPtr LMGetToExtFS( void )
  361.     TWOWORDINLINE( 0x2EB8, 0x03F2 ); /* MOVE.l $03F2,(SP) */
  362. extern pascal void LMSetToExtFS( UniversalProcPtr value )
  363.     TWOWORDINLINE( 0x21DF, 0x03F2 ); /* MOVE.l (SP)+,$03F2 */
  364. extern pascal SInt16 LMGetFSFCBLen( void )
  365.     TWOWORDINLINE( 0x3EB8, 0x03F6 ); /* MOVE.w $03F6,(SP) */
  366. extern pascal void LMSetFSFCBLen( SInt16 value )
  367.     TWOWORDINLINE( 0x31DF, 0x03F6 ); /* MOVE.w (SP)+,$03F6 */
  368. extern pascal Ptr LMGetScrnBase( void )
  369.     TWOWORDINLINE( 0x2EB8, 0x0824 ); /* MOVE.l $0824,(SP) */
  370. extern pascal void LMSetScrnBase( Ptr value )
  371.     TWOWORDINLINE( 0x21DF, 0x0824 ); /* MOVE.l (SP)+,$0824 */
  372. extern pascal GDHandle LMGetMainDevice( void )
  373.     TWOWORDINLINE( 0x2EB8, 0x08A4 ); /* MOVE.l $08A4,(SP) */
  374. extern pascal void LMSetMainDevice( GDHandle value )
  375.     TWOWORDINLINE( 0x21DF, 0x08A4 ); /* MOVE.l (SP)+,$08A4 */
  376. extern pascal GDHandle LMGetDeviceList( void )
  377.     TWOWORDINLINE( 0x2EB8, 0x08A8 ); /* MOVE.l $08A8,(SP) */
  378. extern pascal void LMSetDeviceList( GDHandle value )
  379.     TWOWORDINLINE( 0x21DF, 0x08A8 ); /* MOVE.l (SP)+,$08A8 */
  380. extern pascal Handle LMGetQDColors( void )
  381.     TWOWORDINLINE( 0x2EB8, 0x08B0 ); /* MOVE.l $08B0,(SP) */
  382. extern pascal void LMSetQDColors( Handle value )
  383.     TWOWORDINLINE( 0x21DF, 0x08B0 ); /* MOVE.l (SP)+,$08B0 */
  384. extern pascal UInt8 LMGetCrsrBusy( void )
  385.     TWOWORDINLINE( 0x1EB8, 0x08CD ); /* MOVE.b $08CD,(SP) */
  386. extern pascal void LMSetCrsrBusy( UInt8 value )
  387.     TWOWORDINLINE( 0x11DF, 0x08CD ); /* MOVE.b (SP)+,$08CD */
  388. extern pascal Handle LMGetWidthListHand( void )
  389.     TWOWORDINLINE( 0x2EB8, 0x08E4 ); /* MOVE.l $08E4,(SP) */
  390. extern pascal void LMSetWidthListHand( Handle value )
  391.     TWOWORDINLINE( 0x21DF, 0x08E4 ); /* MOVE.l (SP)+,$08E4 */
  392. extern pascal SInt16 LMGetJournalRef( void )
  393.     TWOWORDINLINE( 0x3EB8, 0x08E8 ); /* MOVE.w $08E8,(SP) */
  394. extern pascal void LMSetJournalRef( SInt16 value )
  395.     TWOWORDINLINE( 0x31DF, 0x08E8 ); /* MOVE.w (SP)+,$08E8 */
  396. extern pascal SInt16 LMGetCrsrThresh( void )
  397.     TWOWORDINLINE( 0x3EB8, 0x08EC ); /* MOVE.w $08EC,(SP) */
  398. extern pascal void LMSetCrsrThresh( SInt16 value )
  399.     TWOWORDINLINE( 0x31DF, 0x08EC ); /* MOVE.w (SP)+,$08EC */
  400. extern pascal UniversalProcPtr LMGetJFetch( void )
  401.     TWOWORDINLINE( 0x2EB8, 0x08F4 ); /* MOVE.l $08F4,(SP) */
  402. extern pascal void LMSetJFetch( UniversalProcPtr value )
  403.     TWOWORDINLINE( 0x21DF, 0x08F4 ); /* MOVE.l (SP)+,$08F4 */
  404. extern pascal UniversalProcPtr LMGetJStash( void )
  405.     TWOWORDINLINE( 0x2EB8, 0x08F8 ); /* MOVE.l $08F8,(SP) */
  406. extern pascal void LMSetJStash( UniversalProcPtr value )
  407.     TWOWORDINLINE( 0x21DF, 0x08F8 ); /* MOVE.l (SP)+,$08F8 */
  408. extern pascal UniversalProcPtr LMGetJIODone( void )
  409.     TWOWORDINLINE( 0x2EB8, 0x08FC ); /* MOVE.l $08FC,(SP) */
  410. extern pascal void LMSetJIODone( UniversalProcPtr value )
  411.     TWOWORDINLINE( 0x21DF, 0x08FC ); /* MOVE.l (SP)+,$08FC */
  412. extern pascal SInt16 LMGetCurApRefNum( void )
  413.     TWOWORDINLINE( 0x3EB8, 0x0900 ); /* MOVE.w $0900,(SP) */
  414. extern pascal void LMSetCurApRefNum( SInt16 value )
  415.     TWOWORDINLINE( 0x31DF, 0x0900 ); /* MOVE.w (SP)+,$0900 */
  416. extern pascal Ptr LMGetCurrentA5( void )
  417.     TWOWORDINLINE( 0x2EB8, 0x0904 ); /* MOVE.l $0904,(SP) */
  418. extern pascal void LMSetCurrentA5( Ptr value )
  419.     TWOWORDINLINE( 0x21DF, 0x0904 ); /* MOVE.l (SP)+,$0904 */
  420. extern pascal Ptr LMGetCurStackBase( void )
  421.     TWOWORDINLINE( 0x2EB8, 0x0908 ); /* MOVE.l $0908,(SP) */
  422. extern pascal void LMSetCurStackBase( Ptr value )
  423.     TWOWORDINLINE( 0x21DF, 0x0908 ); /* MOVE.l (SP)+,$0908 */
  424. extern pascal SInt16 LMGetCurJTOffset( void )
  425.     TWOWORDINLINE( 0x3EB8, 0x0934 ); /* MOVE.w $0934,(SP) */
  426. extern pascal void LMSetCurJTOffset( SInt16 value )
  427.     TWOWORDINLINE( 0x31DF, 0x0934 ); /* MOVE.w (SP)+,$0934 */
  428. extern pascal SInt16 LMGetCurPageOption( void )
  429.     TWOWORDINLINE( 0x3EB8, 0x0936 ); /* MOVE.w $0936,(SP) */
  430. extern pascal void LMSetCurPageOption( SInt16 value )
  431.     TWOWORDINLINE( 0x31DF, 0x0936 ); /* MOVE.w (SP)+,$0936 */
  432. extern pascal UInt8 LMGetHiliteMode( void )
  433.     TWOWORDINLINE( 0x1EB8, 0x0938 ); /* MOVE.b $0938,(SP) */
  434. extern pascal void LMSetHiliteMode( UInt8 value )
  435.     TWOWORDINLINE( 0x11DF, 0x0938 ); /* MOVE.b (SP)+,$0938 */
  436. extern pascal SInt16 LMGetPrintErr( void )
  437.     TWOWORDINLINE( 0x3EB8, 0x0944 ); /* MOVE.w $0944,(SP) */
  438. extern pascal void LMSetPrintErr( SInt16 value )
  439.     TWOWORDINLINE( 0x31DF, 0x0944 ); /* MOVE.w (SP)+,$0944 */
  440. extern pascal SInt32 LMGetScrapSize( void )
  441.     TWOWORDINLINE( 0x2EB8, 0x0960 ); /* MOVE.l $0960,(SP) */
  442. extern pascal void LMSetScrapSize( SInt32 value )
  443.     TWOWORDINLINE( 0x21DF, 0x0960 ); /* MOVE.l (SP)+,$0960 */
  444. extern pascal Handle LMGetScrapHandle( void )
  445.     TWOWORDINLINE( 0x2EB8, 0x0964 ); /* MOVE.l $0964,(SP) */
  446. extern pascal void LMSetScrapHandle( Handle value )
  447.     TWOWORDINLINE( 0x21DF, 0x0964 ); /* MOVE.l (SP)+,$0964 */
  448. extern pascal SInt16 LMGetScrapCount( void )
  449.     TWOWORDINLINE( 0x3EB8, 0x0968 ); /* MOVE.w $0968,(SP) */
  450. extern pascal void LMSetScrapCount( SInt16 value )
  451.     TWOWORDINLINE( 0x31DF, 0x0968 ); /* MOVE.w (SP)+,$0968 */
  452. extern pascal SInt16 LMGetScrapState( void )
  453.     TWOWORDINLINE( 0x3EB8, 0x096A ); /* MOVE.w $096A,(SP) */
  454. extern pascal void LMSetScrapState( SInt16 value )
  455.     TWOWORDINLINE( 0x31DF, 0x096A ); /* MOVE.w (SP)+,$096A */
  456. extern pascal StringPtr LMGetScrapName( void )
  457.     TWOWORDINLINE( 0x2EB8, 0x096C ); /* MOVE.l $096C,(SP) */
  458. extern pascal void LMSetScrapName( StringPtr value )
  459.     TWOWORDINLINE( 0x21DF, 0x096C ); /* MOVE.l (SP)+,$096C */
  460. extern pascal Handle LMGetROMFont0( void )
  461.     TWOWORDINLINE( 0x2EB8, 0x0980 ); /* MOVE.l $0980,(SP) */
  462. extern pascal void LMSetROMFont0( Handle value )
  463.     TWOWORDINLINE( 0x21DF, 0x0980 ); /* MOVE.l (SP)+,$0980 */
  464. extern pascal SInt16 LMGetApFontID( void )
  465.     TWOWORDINLINE( 0x3EB8, 0x0984 ); /* MOVE.w $0984,(SP) */
  466. extern pascal void LMSetApFontID( SInt16 value )
  467.     TWOWORDINLINE( 0x31DF, 0x0984 ); /* MOVE.w (SP)+,$0984 */
  468. extern pascal WindowRef LMGetWindowList( void )
  469.     TWOWORDINLINE( 0x2EB8, 0x09D6 ); /* MOVE.l $09D6,(SP) */
  470. extern pascal SInt16 LMGetSaveUpdate( void )
  471.     TWOWORDINLINE( 0x3EB8, 0x09DA ); /* MOVE.w $09DA,(SP) */
  472. extern pascal void LMSetSaveUpdate( SInt16 value )
  473.     TWOWORDINLINE( 0x31DF, 0x09DA ); /* MOVE.w (SP)+,$09DA */
  474. extern pascal SInt16 LMGetPaintWhite( void )
  475.     TWOWORDINLINE( 0x3EB8, 0x09DC ); /* MOVE.w $09DC,(SP) */
  476. extern pascal void LMSetPaintWhite( SInt16 value )
  477.     TWOWORDINLINE( 0x31DF, 0x09DC ); /* MOVE.w (SP)+,$09DC */
  478. extern pascal GrafPtr LMGetWMgrPort( void )
  479.     TWOWORDINLINE( 0x2EB8, 0x09DE ); /* MOVE.l $09DE,(SP) */
  480. extern pascal void LMSetWMgrPort( GrafPtr value )
  481.     TWOWORDINLINE( 0x21DF, 0x09DE ); /* MOVE.l (SP)+,$09DE */
  482. extern pascal RgnHandle LMGetGrayRgn( void )
  483.     TWOWORDINLINE( 0x2EB8, 0x09EE ); /* MOVE.l $09EE,(SP) */
  484. extern pascal UniversalProcPtr LMGetDragHook( void )
  485.     TWOWORDINLINE( 0x2EB8, 0x09F6 ); /* MOVE.l $09F6,(SP) */
  486. extern pascal void LMSetDragHook( UniversalProcPtr value )
  487.     TWOWORDINLINE( 0x21DF, 0x09F6 ); /* MOVE.l (SP)+,$09F6 */
  488. /*
  489.  To best work with future versions of the window manager,
  490.  avoid using anything not defined with STRICT_WINDOWS
  491.  set to true.  Most, if not all of these will still
  492.  be supported in the next major version of the window manager
  493.  but will trigger non-optimal compatibility code paths that
  494.  should be avoided if possible.
  495. */
  496. #if !STRICT_WINDOWS
  497. /*
  498.  There is no reason to set the window list directly.
  499.  Use BringToFront and SendBehind.
  500.  
  501.  If you need to do floating windows, avoid using GhostWindow 
  502.  and especially avoid patching the window manager.
  503.  
  504.  See Dean Yu's article in Develop 15 about how to implement floating
  505.  windows using low-level window manager calls.  The next generation
  506.  Macintosh Window Manager will have built-in support for floating
  507.  and modal windows.
  508. */
  509. extern pascal void LMSetWindowList( WindowRef value )
  510.     TWOWORDINLINE( 0x21DF, 0x09D6 ); /* MOVE.l (SP)+,$09D6 */
  511. extern pascal WindowRef LMGetGhostWindow( void )
  512.     TWOWORDINLINE( 0x2EB8, 0x0A84 ); /* MOVE.l $0A84,(SP) */
  513. extern pascal void LMSetGhostWindow( WindowRef value )
  514.     TWOWORDINLINE( 0x21DF, 0x0A84 ); /* MOVE.l (SP)+,$0A84 */
  515. /*
  516.  The auxiliary window record list will be empty in future
  517.  versions of the window manager.  There is no reason to 
  518.  walk it or change it. 
  519. */
  520. extern pascal AuxWinHandle LMGetAuxWinHead( void )
  521.     TWOWORDINLINE( 0x2EB8, 0x0CD0 ); /* MOVE.l $0CD0,(SP) */
  522. extern pascal void LMSetAuxWinHead( AuxWinHandle value )
  523.     TWOWORDINLINE( 0x21DF, 0x0CD0 ); /* MOVE.l (SP)+,$0CD0 */
  524. /*
  525.  Please rely on the event manager to deliver activate and 
  526.  deactivate events and on the window manager to generate them.
  527.  
  528.  The next generation window manager will queue these events
  529.  rather than just slamming these lowmems with the latest
  530.  generated event, so it pays to rely on the event manager.
  531. */
  532. extern pascal WindowRef LMGetCurActivate( void )
  533.     TWOWORDINLINE( 0x2EB8, 0x0A64 ); /* MOVE.l $0A64,(SP) */
  534. extern pascal void LMSetCurActivate( WindowRef value )
  535.     TWOWORDINLINE( 0x21DF, 0x0A64 ); /* MOVE.l (SP)+,$0A64 */
  536. extern pascal WindowRef LMGetCurDeactive( void )
  537.     TWOWORDINLINE( 0x2EB8, 0x0A68 ); /* MOVE.l $0A68,(SP) */
  538. extern pascal void LMSetCurDeactive( WindowRef value )
  539.     TWOWORDINLINE( 0x21DF, 0x0A68 ); /* MOVE.l (SP)+,$0A68 */
  540. extern pascal RgnHandle LMGetOldStructure( void )
  541.     TWOWORDINLINE( 0x2EB8, 0x09E6 ); /* MOVE.l $09E6,(SP) */
  542. extern pascal void LMSetOldStructure( RgnHandle value )
  543.     TWOWORDINLINE( 0x21DF, 0x09E6 ); /* MOVE.l (SP)+,$09E6 */
  544. extern pascal RgnHandle LMGetOldContent( void )
  545.     TWOWORDINLINE( 0x2EB8, 0x09EA ); /* MOVE.l $09EA,(SP) */
  546. extern pascal void LMSetOldContent( RgnHandle value )
  547.     TWOWORDINLINE( 0x21DF, 0x09EA ); /* MOVE.l (SP)+,$09EA */
  548. /*
  549.  Please don't mess with the gray region.  There has
  550.  to be a better way.  If not, please manipulate the
  551.  existing region, don't change the value of the lowmem.
  552. */
  553. extern pascal void LMSetGrayRgn( RgnHandle value )
  554.     TWOWORDINLINE( 0x21DF, 0x09EE ); /* MOVE.l (SP)+,$09EE */
  555. extern pascal RgnHandle LMGetSaveVisRgn( void )
  556.     TWOWORDINLINE( 0x2EB8, 0x09F2 ); /* MOVE.l $09F2,(SP) */
  557. extern pascal void LMSetSaveVisRgn( RgnHandle value )
  558.     TWOWORDINLINE( 0x21DF, 0x09F2 ); /* MOVE.l (SP)+,$09F2 */
  559. #endif
  560. extern pascal SInt32 LMGetOneOne( void )
  561.     TWOWORDINLINE( 0x2EB8, 0x0A02 ); /* MOVE.l $0A02,(SP) */
  562. extern pascal void LMSetOneOne( SInt32 value )
  563.     TWOWORDINLINE( 0x21DF, 0x0A02 ); /* MOVE.l (SP)+,$0A02 */
  564. extern pascal SInt32 LMGetMinusOne( void )
  565.     TWOWORDINLINE( 0x2EB8, 0x0A06 ); /* MOVE.l $0A06,(SP) */
  566. extern pascal void LMSetMinusOne( SInt32 value )
  567.     TWOWORDINLINE( 0x21DF, 0x0A06 ); /* MOVE.l (SP)+,$0A06 */
  568. extern pascal SInt16 LMGetTopMenuItem( void )
  569.     TWOWORDINLINE( 0x3EB8, 0x0A0A ); /* MOVE.w $0A0A,(SP) */
  570. extern pascal void LMSetTopMenuItem( SInt16 value )
  571.     TWOWORDINLINE( 0x31DF, 0x0A0A ); /* MOVE.w (SP)+,$0A0A */
  572. extern pascal SInt16 LMGetAtMenuBottom( void )
  573.     TWOWORDINLINE( 0x3EB8, 0x0A0C ); /* MOVE.w $0A0C,(SP) */
  574. extern pascal void LMSetAtMenuBottom( SInt16 value )
  575.     TWOWORDINLINE( 0x31DF, 0x0A0C ); /* MOVE.w (SP)+,$0A0C */
  576. extern pascal Handle LMGetMenuList( void )
  577.     TWOWORDINLINE( 0x2EB8, 0x0A1C ); /* MOVE.l $0A1C,(SP) */
  578. extern pascal void LMSetMenuList( Handle value )
  579.     TWOWORDINLINE( 0x21DF, 0x0A1C ); /* MOVE.l (SP)+,$0A1C */
  580. extern pascal SInt16 LMGetMBarEnable( void )
  581.     TWOWORDINLINE( 0x3EB8, 0x0A20 ); /* MOVE.w $0A20,(SP) */
  582. extern pascal void LMSetMBarEnable( SInt16 value )
  583.     TWOWORDINLINE( 0x31DF, 0x0A20 ); /* MOVE.w (SP)+,$0A20 */
  584. extern pascal SInt16 LMGetMenuFlash( void )
  585.     TWOWORDINLINE( 0x3EB8, 0x0A24 ); /* MOVE.w $0A24,(SP) */
  586. extern pascal void LMSetMenuFlash( SInt16 value )
  587.     TWOWORDINLINE( 0x31DF, 0x0A24 ); /* MOVE.w (SP)+,$0A24 */
  588. extern pascal SInt16 LMGetTheMenu( void )
  589.     TWOWORDINLINE( 0x3EB8, 0x0A26 ); /* MOVE.w $0A26,(SP) */
  590. extern pascal void LMSetTheMenu( SInt16 value )
  591.     TWOWORDINLINE( 0x31DF, 0x0A26 ); /* MOVE.w (SP)+,$0A26 */
  592. extern pascal UniversalProcPtr LMGetMBarHook( void )
  593.     TWOWORDINLINE( 0x2EB8, 0x0A2C ); /* MOVE.l $0A2C,(SP) */
  594. extern pascal void LMSetMBarHook( UniversalProcPtr value )
  595.     TWOWORDINLINE( 0x21DF, 0x0A2C ); /* MOVE.l (SP)+,$0A2C */
  596. extern pascal UniversalProcPtr LMGetMenuHook( void )
  597.     TWOWORDINLINE( 0x2EB8, 0x0A30 ); /* MOVE.l $0A30,(SP) */
  598. extern pascal void LMSetMenuHook( UniversalProcPtr value )
  599.     TWOWORDINLINE( 0x21DF, 0x0A30 ); /* MOVE.l (SP)+,$0A30 */
  600. extern pascal Handle LMGetTopMapHndl( void )
  601.     TWOWORDINLINE( 0x2EB8, 0x0A50 ); /* MOVE.l $0A50,(SP) */
  602. extern pascal void LMSetTopMapHndl( Handle value )
  603.     TWOWORDINLINE( 0x21DF, 0x0A50 ); /* MOVE.l (SP)+,$0A50 */
  604. extern pascal Handle LMGetSysMapHndl( void )
  605.     TWOWORDINLINE( 0x2EB8, 0x0A54 ); /* MOVE.l $0A54,(SP) */
  606. extern pascal void LMSetSysMapHndl( Handle value )
  607.     TWOWORDINLINE( 0x21DF, 0x0A54 ); /* MOVE.l (SP)+,$0A54 */
  608. extern pascal SInt16 LMGetSysMap( void )
  609.     TWOWORDINLINE( 0x3EB8, 0x0A58 ); /* MOVE.w $0A58,(SP) */
  610. extern pascal void LMSetSysMap( SInt16 value )
  611.     TWOWORDINLINE( 0x31DF, 0x0A58 ); /* MOVE.w (SP)+,$0A58 */
  612. extern pascal SInt16 LMGetCurMap( void )
  613.     TWOWORDINLINE( 0x3EB8, 0x0A5A ); /* MOVE.w $0A5A,(SP) */
  614. extern pascal void LMSetCurMap( SInt16 value )
  615.     TWOWORDINLINE( 0x31DF, 0x0A5A ); /* MOVE.w (SP)+,$0A5A */
  616. extern pascal UInt8 LMGetResLoad( void )
  617.     TWOWORDINLINE( 0x1EB8, 0x0A5E ); /* MOVE.b $0A5E,(SP) */
  618. extern pascal void LMSetResLoad( UInt8 value )
  619.     TWOWORDINLINE( 0x11DF, 0x0A5E ); /* MOVE.b (SP)+,$0A5E */
  620. extern pascal SInt16 LMGetResErr( void )
  621.     TWOWORDINLINE( 0x3EB8, 0x0A60 ); /* MOVE.w $0A60,(SP) */
  622. extern pascal void LMSetResErr( SInt16 value )
  623.     TWOWORDINLINE( 0x31DF, 0x0A60 ); /* MOVE.w (SP)+,$0A60 */
  624. extern pascal UInt8 LMGetFScaleDisable( void )
  625.     TWOWORDINLINE( 0x1EB8, 0x0A63 ); /* MOVE.b $0A63,(SP) */
  626. extern pascal void LMSetFScaleDisable( UInt8 value )
  627.     TWOWORDINLINE( 0x11DF, 0x0A63 ); /* MOVE.b (SP)+,$0A63 */
  628. extern pascal UniversalProcPtr LMGetDeskHook( void )
  629.     TWOWORDINLINE( 0x2EB8, 0x0A6C ); /* MOVE.l $0A6C,(SP) */
  630. extern pascal void LMSetDeskHook( UniversalProcPtr value )
  631.     TWOWORDINLINE( 0x21DF, 0x0A6C ); /* MOVE.l (SP)+,$0A6C */
  632. extern pascal UniversalProcPtr LMGetTEDoText( void )
  633.     TWOWORDINLINE( 0x2EB8, 0x0A70 ); /* MOVE.l $0A70,(SP) */
  634. extern pascal void LMSetTEDoText( UniversalProcPtr value )
  635.     TWOWORDINLINE( 0x21DF, 0x0A70 ); /* MOVE.l (SP)+,$0A70 */
  636. extern pascal UniversalProcPtr LMGetTERecal( void )
  637.     TWOWORDINLINE( 0x2EB8, 0x0A74 ); /* MOVE.l $0A74,(SP) */
  638. extern pascal void LMSetTERecal( UniversalProcPtr value )
  639.     TWOWORDINLINE( 0x21DF, 0x0A74 ); /* MOVE.l (SP)+,$0A74 */
  640. extern pascal UniversalProcPtr LMGetResumeProc( void )
  641.     TWOWORDINLINE( 0x2EB8, 0x0A8C ); /* MOVE.l $0A8C,(SP) */
  642. extern pascal void LMSetResumeProc( UniversalProcPtr value )
  643.     TWOWORDINLINE( 0x21DF, 0x0A8C ); /* MOVE.l (SP)+,$0A8C */
  644. extern pascal SInt16 LMGetANumber( void )
  645.     TWOWORDINLINE( 0x3EB8, 0x0A98 ); /* MOVE.w $0A98,(SP) */
  646. extern pascal void LMSetANumber( SInt16 value )
  647.     TWOWORDINLINE( 0x31DF, 0x0A98 ); /* MOVE.w (SP)+,$0A98 */
  648. extern pascal SInt16 LMGetACount( void )
  649.     TWOWORDINLINE( 0x3EB8, 0x0A9A ); /* MOVE.w $0A9A,(SP) */
  650. extern pascal void LMSetACount( SInt16 value )
  651.     TWOWORDINLINE( 0x31DF, 0x0A9A ); /* MOVE.w (SP)+,$0A9A */
  652. extern pascal UniversalProcPtr LMGetDABeeper( void )
  653.     TWOWORDINLINE( 0x2EB8, 0x0A9C ); /* MOVE.l $0A9C,(SP) */
  654. extern pascal void LMSetDABeeper( UniversalProcPtr value )
  655.     TWOWORDINLINE( 0x21DF, 0x0A9C ); /* MOVE.l (SP)+,$0A9C */
  656. extern pascal UInt16 LMGetTEScrpLength( void )
  657.     TWOWORDINLINE( 0x3EB8, 0x0AB0 ); /* MOVE.w $0AB0,(SP) */
  658. extern pascal void LMSetTEScrpLength( UInt16 value )
  659.     TWOWORDINLINE( 0x31DF, 0x0AB0 ); /* MOVE.w (SP)+,$0AB0 */
  660. extern pascal Handle LMGetTEScrpHandle( void )
  661.     TWOWORDINLINE( 0x2EB8, 0x0AB4 ); /* MOVE.l $0AB4,(SP) */
  662. extern pascal void LMSetTEScrpHandle( Handle value )
  663.     TWOWORDINLINE( 0x21DF, 0x0AB4 ); /* MOVE.l (SP)+,$0AB4 */
  664. extern pascal Handle LMGetAppParmHandle( void )
  665.     TWOWORDINLINE( 0x2EB8, 0x0AEC ); /* MOVE.l $0AEC,(SP) */
  666. extern pascal void LMSetAppParmHandle( Handle value )
  667.     TWOWORDINLINE( 0x21DF, 0x0AEC ); /* MOVE.l (SP)+,$0AEC */
  668. extern pascal SInt16 LMGetDSErrCode( void )
  669.     TWOWORDINLINE( 0x3EB8, 0x0AF0 ); /* MOVE.w $0AF0,(SP) */
  670. extern pascal void LMSetDSErrCode( SInt16 value )
  671.     TWOWORDINLINE( 0x31DF, 0x0AF0 ); /* MOVE.w (SP)+,$0AF0 */
  672. extern pascal ResErrUPP LMGetResErrProc( void )
  673.     TWOWORDINLINE( 0x2EB8, 0x0AF2 ); /* MOVE.l $0AF2,(SP) */
  674. extern pascal void LMSetResErrProc( ResErrUPP value )
  675.     TWOWORDINLINE( 0x21DF, 0x0AF2 ); /* MOVE.l (SP)+,$0AF2 */
  676. extern pascal SInt16 LMGetDlgFont( void )
  677.     TWOWORDINLINE( 0x3EB8, 0x0AFA ); /* MOVE.w $0AFA,(SP) */
  678. extern pascal void LMSetDlgFont( SInt16 value )
  679.     TWOWORDINLINE( 0x31DF, 0x0AFA ); /* MOVE.w (SP)+,$0AFA */
  680. extern pascal Ptr LMGetWidthPtr( void )
  681.     TWOWORDINLINE( 0x2EB8, 0x0B10 ); /* MOVE.l $0B10,(SP) */
  682. extern pascal void LMSetWidthPtr( Ptr value )
  683.     TWOWORDINLINE( 0x21DF, 0x0B10 ); /* MOVE.l (SP)+,$0B10 */
  684. extern pascal Ptr LMGetATalkHk2( void )
  685.     TWOWORDINLINE( 0x2EB8, 0x0B18 ); /* MOVE.l $0B18,(SP) */
  686. extern pascal void LMSetATalkHk2( Ptr value )
  687.     TWOWORDINLINE( 0x21DF, 0x0B18 ); /* MOVE.l (SP)+,$0B18 */
  688. extern pascal SInt16 LMGetHWCfgFlags( void )
  689.     TWOWORDINLINE( 0x3EB8, 0x0B22 ); /* MOVE.w $0B22,(SP) */
  690. extern pascal void LMSetHWCfgFlags( SInt16 value )
  691.     TWOWORDINLINE( 0x31DF, 0x0B22 ); /* MOVE.w (SP)+,$0B22 */
  692. extern pascal Handle LMGetWidthTabHandle( void )
  693.     TWOWORDINLINE( 0x2EB8, 0x0B2A ); /* MOVE.l $0B2A,(SP) */
  694. extern pascal void LMSetWidthTabHandle( Handle value )
  695.     TWOWORDINLINE( 0x21DF, 0x0B2A ); /* MOVE.l (SP)+,$0B2A */
  696. extern pascal SInt32 LMGetLastSPExtra( void )
  697.     TWOWORDINLINE( 0x2EB8, 0x0B4C ); /* MOVE.l $0B4C,(SP) */
  698. extern pascal void LMSetLastSPExtra( SInt32 value )
  699.     TWOWORDINLINE( 0x21DF, 0x0B4C ); /* MOVE.l (SP)+,$0B4C */
  700. extern pascal SInt32 LMGetMenuDisable( void )
  701.     TWOWORDINLINE( 0x2EB8, 0x0B54 ); /* MOVE.l $0B54,(SP) */
  702. extern pascal void LMSetMenuDisable( SInt32 value )
  703.     TWOWORDINLINE( 0x21DF, 0x0B54 ); /* MOVE.l (SP)+,$0B54 */
  704. extern pascal UInt8 LMGetROMMapInsert( void )
  705.     TWOWORDINLINE( 0x1EB8, 0x0B9E ); /* MOVE.b $0B9E,(SP) */
  706. extern pascal void LMSetROMMapInsert( UInt8 value )
  707.     TWOWORDINLINE( 0x11DF, 0x0B9E ); /* MOVE.b (SP)+,$0B9E */
  708. extern pascal UInt8 LMGetTmpResLoad( void )
  709.     TWOWORDINLINE( 0x1EB8, 0x0B9F ); /* MOVE.b $0B9F,(SP) */
  710. extern pascal void LMSetTmpResLoad( UInt8 value )
  711.     TWOWORDINLINE( 0x11DF, 0x0B9F ); /* MOVE.b (SP)+,$0B9F */
  712. extern pascal Ptr LMGetIntlSpec( void )
  713.     TWOWORDINLINE( 0x2EB8, 0x0BA0 ); /* MOVE.l $0BA0,(SP) */
  714. extern pascal void LMSetIntlSpec( Ptr value )
  715.     TWOWORDINLINE( 0x21DF, 0x0BA0 ); /* MOVE.l (SP)+,$0BA0 */
  716. extern pascal UInt8 LMGetWordRedraw( void )
  717.     TWOWORDINLINE( 0x1EB8, 0x0BA5 ); /* MOVE.b $0BA5,(SP) */
  718. extern pascal void LMSetWordRedraw( UInt8 value )
  719.     TWOWORDINLINE( 0x11DF, 0x0BA5 ); /* MOVE.b (SP)+,$0BA5 */
  720. extern pascal SInt16 LMGetSysFontFam( void )
  721.     TWOWORDINLINE( 0x3EB8, 0x0BA6 ); /* MOVE.w $0BA6,(SP) */
  722. extern pascal void LMSetSysFontFam( SInt16 value )
  723.     TWOWORDINLINE( 0x31DF, 0x0BA6 ); /* MOVE.w (SP)+,$0BA6 */
  724. extern pascal SInt16 LMGetSysFontSize( void )
  725.     TWOWORDINLINE( 0x3EB8, 0x0BA8 ); /* MOVE.w $0BA8,(SP) */
  726. extern pascal void LMSetSysFontSize( SInt16 value )
  727.     TWOWORDINLINE( 0x31DF, 0x0BA8 ); /* MOVE.w (SP)+,$0BA8 */
  728. extern pascal SInt16 LMGetMBarHeight( void )
  729.     TWOWORDINLINE( 0x3EB8, 0x0BAA ); /* MOVE.w $0BAA,(SP) */
  730. extern pascal void LMSetMBarHeight( SInt16 value )
  731.     TWOWORDINLINE( 0x31DF, 0x0BAA ); /* MOVE.w (SP)+,$0BAA */
  732. extern pascal SInt16 LMGetTESysJust( void )
  733.     TWOWORDINLINE( 0x3EB8, 0x0BAC ); /* MOVE.w $0BAC,(SP) */
  734. extern pascal void LMSetTESysJust( SInt16 value )
  735.     TWOWORDINLINE( 0x31DF, 0x0BAC ); /* MOVE.w (SP)+,$0BAC */
  736. extern pascal Handle LMGetLastFOND( void )
  737.     TWOWORDINLINE( 0x2EB8, 0x0BC2 ); /* MOVE.l $0BC2,(SP) */
  738. extern pascal void LMSetLastFOND( Handle value )
  739.     TWOWORDINLINE( 0x21DF, 0x0BC2 ); /* MOVE.l (SP)+,$0BC2 */
  740. extern pascal UInt8 LMGetFractEnable( void )
  741.     TWOWORDINLINE( 0x1EB8, 0x0BF4 ); /* MOVE.b $0BF4,(SP) */
  742. extern pascal void LMSetFractEnable( UInt8 value )
  743.     TWOWORDINLINE( 0x11DF, 0x0BF4 ); /* MOVE.b (SP)+,$0BF4 */
  744. extern pascal UInt8 LMGetMMU32Bit( void )
  745.     TWOWORDINLINE( 0x1EB8, 0x0CB2 ); /* MOVE.b $0CB2,(SP) */
  746. extern pascal void LMSetMMU32Bit( UInt8 value )
  747.     TWOWORDINLINE( 0x11DF, 0x0CB2 ); /* MOVE.b (SP)+,$0CB2 */
  748. extern pascal GDHandle LMGetTheGDevice( void )
  749.     TWOWORDINLINE( 0x2EB8, 0x0CC8 ); /* MOVE.l $0CC8,(SP) */
  750. extern pascal void LMSetTheGDevice( GDHandle value )
  751.     TWOWORDINLINE( 0x21DF, 0x0CC8 ); /* MOVE.l (SP)+,$0CC8 */
  752. extern pascal PixPatHandle LMGetDeskCPat( void )
  753.     TWOWORDINLINE( 0x2EB8, 0x0CD8 ); /* MOVE.l $0CD8,(SP) */
  754. extern pascal void LMSetDeskCPat( PixPatHandle value )
  755.     TWOWORDINLINE( 0x21DF, 0x0CD8 ); /* MOVE.l (SP)+,$0CD8 */
  756. extern pascal SInt16 LMGetTimeDBRA( void )
  757.     TWOWORDINLINE( 0x3EB8, 0x0D00 ); /* MOVE.w $0D00,(SP) */
  758. extern pascal void LMSetTimeDBRA( SInt16 value )
  759.     TWOWORDINLINE( 0x31DF, 0x0D00 ); /* MOVE.w (SP)+,$0D00 */
  760. extern pascal SInt16 LMGetTimeSCCDB( void )
  761.     TWOWORDINLINE( 0x3EB8, 0x0D02 ); /* MOVE.w $0D02,(SP) */
  762. extern pascal void LMSetTimeSCCDB( SInt16 value )
  763.     TWOWORDINLINE( 0x31DF, 0x0D02 ); /* MOVE.w (SP)+,$0D02 */
  764. extern pascal UniversalProcPtr LMGetJVBLTask( void )
  765.     TWOWORDINLINE( 0x2EB8, 0x0D28 ); /* MOVE.l $0D28,(SP) */
  766. extern pascal void LMSetJVBLTask( UniversalProcPtr value )
  767.     TWOWORDINLINE( 0x21DF, 0x0D28 ); /* MOVE.l (SP)+,$0D28 */
  768. extern pascal Handle LMGetSynListHandle( void )
  769.     TWOWORDINLINE( 0x2EB8, 0x0D32 ); /* MOVE.l $0D32,(SP) */
  770. extern pascal void LMSetSynListHandle( Handle value )
  771.     TWOWORDINLINE( 0x21DF, 0x0D32 ); /* MOVE.l (SP)+,$0D32 */
  772. extern pascal MCTableHandle LMGetMenuCInfo( void )
  773.     TWOWORDINLINE( 0x2EB8, 0x0D50 ); /* MOVE.l $0D50,(SP) */
  774. extern pascal void LMSetMenuCInfo( MCTableHandle value )
  775.     TWOWORDINLINE( 0x21DF, 0x0D50 ); /* MOVE.l (SP)+,$0D50 */
  776. extern pascal UniversalProcPtr LMGetJDTInstall( void )
  777.     TWOWORDINLINE( 0x2EB8, 0x0D9C ); /* MOVE.l $0D9C,(SP) */
  778. extern pascal void LMSetJDTInstall( UniversalProcPtr value )
  779.     TWOWORDINLINE( 0x21DF, 0x0D9C ); /* MOVE.l (SP)+,$0D9C */
  780. extern pascal SInt16 LMGetTimeSCSIDB( void )
  781.     TWOWORDINLINE( 0x3EB8, 0x0B24 ); /* MOVE.w $0B24,(SP) */
  782. extern pascal void LMSetTimeSCSIDB( SInt16 value )
  783.     TWOWORDINLINE( 0x31DF, 0x0B24 ); /* MOVE.w (SP)+,$0B24 */
  784. /**************************************************************************************
  785.  
  786.     MORE COMPLEX LOWMEM ACCESSORS
  787.  
  788. **************************************************************************************/
  789. #if CFMSYSTEMCALLS
  790. extern pascal void LMGetDSAlertRect(Rect *dsAlertRectValue);
  791. extern pascal void LMSetDSAlertRect(const Rect *dsAlertRectValue);
  792. extern pascal void LMGetDragPattern(Pattern *dragPatternValue);
  793. extern pascal void LMSetDragPattern(const Pattern *dragPatternValue);
  794. extern pascal void LMGetDeskPattern(Pattern *deskPatternValue);
  795. extern pascal void LMSetDeskPattern(const Pattern *deskPatternValue);
  796. extern pascal void LMGetHiliteRGB(RGBColor *hiliteRGBValue);
  797. extern pascal void LMSetHiliteRGB(const RGBColor *hiliteRGBValue);
  798. extern pascal QHdrPtr LMGetEventQueue(void);
  799. extern pascal void LMSetEventQueue(QHdrPtr eventQueueValue);
  800. extern pascal QHdrPtr LMGetVBLQueue(void);
  801. extern pascal void LMSetVBLQueue(QHdrPtr vblQueueValue);
  802. extern pascal QHdrPtr LMGetDrvQHdr(void);
  803. extern pascal void LMSetDrvQHdr(QHdrPtr drvQHdrValue);
  804. extern pascal QHdrPtr LMGetVCBQHdr(void);
  805. extern pascal void LMSetVCBQHdr(QHdrPtr vcbQHdrValue);
  806. extern pascal QHdrPtr LMGetDTQueue(void);
  807. extern pascal void LMSetDTQueue(QHdrPtr dtQueueValue);
  808. extern pascal QHdrPtr LMGetFSQHdr(void);
  809. /**************************************************************************************
  810.     "BLOCKMOVE ACCESSORS"
  811.     
  812.         These lowmem accessors use the BlockMove trap
  813. **************************************************************************************/
  814. extern pascal StringPtr LMGetCurApName(void);
  815. extern pascal void LMSetCurApName(ConstStr31Param curApNameValue);
  816. extern pascal StringPtr LMGetSysResName(void);
  817. extern pascal void LMSetSysResName(ConstStr15Param sysResNameValue);
  818. extern pascal StringPtr LMGetFinderName(void);
  819. extern pascal void LMSetFinderName(ConstStr15Param finderNameValue);
  820. extern pascal Ptr LMGetScratch20(void);
  821. extern pascal void LMSetScratch20(const void *scratch20Value);
  822. extern pascal Ptr LMGetToolScratch(void);
  823. extern pascal void LMSetToolScratch(const void *toolScratchValue);
  824. extern pascal Ptr LMGetApplScratch(void);
  825. extern pascal void LMSetApplScratch(const void *applScratchValue);
  826. /**************************************************************************************
  827.     "INDEXED ACCESSORS"
  828.     
  829.         These lowmem accessors take an index parameter to get/set an indexed
  830.         lowmem global.
  831. **************************************************************************************/
  832. extern pascal StringHandle LMGetDAStrings(short whichString);
  833. extern pascal void LMSetDAStrings(StringHandle stringsValue, short whichString);
  834. extern pascal UniversalProcPtr LMGetLvl2DT(short vectorNumber);
  835. extern pascal void LMSetLvl2DT(UniversalProcPtr Lvl2DTValue, short vectorNumber);
  836. extern pascal UniversalProcPtr LMGetExtStsDT(short vectorNumber);
  837. extern pascal void LMSetExtStsDT(UniversalProcPtr ExtStsDTValue, short vectorNumber);
  838. #else
  839. /**************************************************************************************
  840.     "BIG DATA"
  841.     
  842.         These lowmem accessors access big (> 4 bytes) values.
  843. **************************************************************************************/
  844. #define LMGetDSAlertRect(dsAlertRectValue) (*(dsAlertRectValue) = * (Rect*) 0x03F8)
  845. #define LMSetDSAlertRect(dsAlertRectValue) ((* (Rect *) 0x03F8) = *(dsAlertRectValue))
  846. #define LMGetDragPattern(dragPatternValue) (*(dragPatternValue) = * (Pattern *) 0x0A34)
  847. #define LMSetDragPattern(dragPatternValue) ((* (Pattern *) 0x0A34) = *(dragPatternValue))
  848. #define LMGetDeskPattern(deskPatternValue) (*(deskPatternValue) = * (Pattern *) 0x0A3C)
  849. #define LMSetDeskPattern(deskPatternValue) ((* (Pattern *) 0x0A3C) = *(deskPatternValue))
  850. #define LMGetHiliteRGB(hiliteRGBValue) (*(hiliteRGBValue) = *(RGBColor*)0x0DA0)
  851. #define LMSetHiliteRGB(hiliteRGBValue) ((* (RGBColor *) 0x0DA0) = *(hiliteRGBValue))
  852. #define LMGetEventQueue() ( (QHdrPtr) 0x014A)
  853. #define LMSetEventQueue(eventQueueValue) ((* (QHdrPtr) 0x014A) = *(QHdrPtr)(eventQueueValue))
  854. #define LMGetVBLQueue() ( (QHdrPtr) 0x0160)
  855. #define LMSetVBLQueue(vblQueueValue) ((* (QHdrPtr) 0x0160) = *(QHdrPtr)(vblQueueValue))
  856. #define LMGetDrvQHdr() ( (QHdrPtr) 0x0308)
  857. #define LMSetDrvQHdr(drvQHdrValue) ((* (QHdrPtr) 0x0308) = *(QHdrPtr)(drvQHdrValue))
  858. #define LMGetVCBQHdr() ( (QHdrPtr) 0x0356)
  859. #define LMSetVCBQHdr(vcbQHdrValue) ((* (QHdrPtr) 0x0356) = *(QHdrPtr)(vcbQHdrValue))
  860. #define LMGetDTQueue() ( (QHdrPtr) 0x0D92)
  861. #define LMSetDTQueue(dtQueueValue) ((* (QHdrPtr) 0x0D92) = *(QHdrPtr)(dtQueueValue))
  862. #define LMGetFSQHdr() ( (QHdrPtr) 0x0360)
  863. /**************************************************************************************
  864.     "BLOCKMOVE ACCESSORS"
  865.     
  866.         These lowmem accessors use the BlockMove trap
  867. **************************************************************************************/
  868. #define LMGetCurApName() ((StringPtr) 0x0910)
  869. #define LMSetCurApName(curApNameValue) (BlockMoveData((Ptr)(curApNameValue), (Ptr)0x0910, sizeof(Str31)))
  870. #define LMGetSysResName() ( (StringPtr) 0x0AD8)
  871. #define LMSetSysResName(sysResNameValue) (BlockMoveData((Ptr)(sysResNameValue), (Ptr)0x0AD8, sizeof(Str15)))
  872. #define LMGetFinderName() ((StringPtr)0x02E0)
  873. #define LMSetFinderName(finderName) (BlockMoveData((Ptr)(finderName), (Ptr)0x02E0, sizeof(Str15)))
  874. #define LMGetScratch20() ((Ptr) 0x01E4)
  875. #define LMSetScratch20(scratch20Value) (BlockMoveData((Ptr) (scratch20Value), (Ptr) 0x01E4, 20))
  876. #define LMGetToolScratch() ((Ptr) 0x09CE)
  877. #define LMSetToolScratch(toolScratchValue) (BlockMoveData((Ptr)(toolScratchValue), (Ptr) 0x09CE, 8))
  878. #define LMGetApplScratch() ((Ptr) 0x0A78)
  879. #define LMSetApplScratch(applScratchValue) (BlockMoveData((Ptr) (applScratchValue), (Ptr) 0x0A78, 12))
  880. /**************************************************************************************
  881.     "INDEXED ACCESSORS"
  882.     
  883.         These lowmem accessors take an index parameter to get/set an indexed
  884.         lowmem global.
  885. **************************************************************************************/
  886. #define LMGetDAStrings(whichString) ( ((StringHandle*)0x0AA0)[whichString] )
  887. #define LMSetDAStrings(stringsValue, whichString) ( ((StringHandle*)0x0AA0)[whichString] = (stringsValue) )
  888. #define LMGetLvl2DT(vectorNumber) ( ((UniversalProcPtr*)0x01B2)[vectorNumber] )
  889. #define LMSetLvl2DT(lvl2DTValue, vectorNumber) ( ((UniversalProcPtr*)0x01B2)[vectorNumber] = (lvl2DTValue) )
  890. #define LMGetExtStsDT(vectorNumber) ( ((UniversalProcPtr*)0x02BE)[vectorNumber] )
  891. #define LMSetExtStsDT(extStsDTValue, vectorNumber) ( ((UniversalProcPtr*)0x02BE)[vectorNumber] = (extStsDTValue) )
  892. #endif
  893.  
  894. #if PRAGMA_IMPORT_SUPPORTED
  895. #pragma import off
  896. #endif
  897.  
  898. #if PRAGMA_ALIGN_SUPPORTED
  899. #pragma options align=reset
  900. #endif
  901.  
  902. #ifdef __cplusplus
  903. }
  904. #endif
  905.  
  906. #endif /* __LOWMEM__ */
  907.